home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
faq-s.zip
/
GENTYPES.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1991-04-26
|
12KB
|
434 lines
{$R-,S-,I-,D-,F+,V-,B-,N-,L+ }
{$M 50000,0,0 }
unit gentypes;
interface
uses dos;
const ver='1.05'; {1.05ß}
netver='1.4';
date='06/01/91';
thisversioncode=1;
maxusers=30000;
maxbackscroll=10000;
maxmessagesize=100;
maxlastcallers=20;
maxtopics=10;
maxcats=10;
maxconf=10;
sectorsize=512;
numsectors=10000;
maxcatalogsize=50;
maxgroupsize=50;
maxsyslogdat=150;
maxsyslogsize=1000;
e_door=3;
e_controlbreak=9;
e_badconfig=100;
e_fatalfileerror=90;
e_files30=50;
e_nomodemdrv=2;
maxb=100;
{ All of these are extended keystroke values. }
breakoutchar= 0; {Control-Break}
chat1char= 59; {F1}
chat2char= 60; {F2}
astaline= 61; {F3}
validate= 62; {F4}
sysopcomchar= 63; {F5}
sysnextchar= 65; {F7}
timelockchar= 66; {F8}
inlockchar= 67; {F9}
outlockchar= 68; {F10}
printerechochar= 114; {Ctrl-PrtScr}
availtogglechar= 30; {Alt-A}
bottomchar= 48; {Alt-B}
doschar= 32; {Alt-D}
texttrapchar= 18; {Alt-E}
sysophelpchar= 35; {Alt-H}
notimechar= 37; {Alt-K}
lesstimechar= 38; {Alt-L}
moretimechar= 50; {Alt-M}
tempsysopchar= 20; {Alt-T}
viewstatchar= 47; {Alt-S}
sm1char= 104; {Alt-F1}
sm2char= 105; {Alt-F2}
sm3char= 106; {Alt-F3}
sm4char= 107; {Alt-F4}
sm5char= 108; {Alt-F5}
sm6char= 109; {Alt-F6}
sm7char= 110; {Alt-F7}
sm8char= 111; {Alt-F8}
sm9char= 112; {Alt-F9}
sm10char= 113; {Alt-F10}
phunkey= 117; {Ctrl-End}
betakey= 131; {Alt-=}
scroverride= 24; {Alt-O}
leftshift= $0100; {Left-Shift}
rightshift= $0200; {Right-Shift}
control= $0400; {Control Key}
alt= $0800; {Alt Key}
shifttab= 15; {Shift-Tab}
uparrow= 72; {Up Arrow}
downarrow= 80; {Down Arrow}
leftarrow= 75; {Left Arrow}
rightarrow= 77; {Right Arrow}
home= 71; {Home Key}
pageup= 73; {Page Up}
endkey= 79; {End Key}
pagedown= 81; {Page Down}
ins= 82; {Insert Key}
del= 83; {Delete Key}
altdash= 130; {Alt--}
altequal= 131; {Alt-=}
alt1= 120; {Alt-1}
alt2= 121; {Alt-2}
alt3= 122; {Alt-3}
alt4= 123; {Alt-4}
alt5= 124; {Alt-5}
alt6= 125; {Alt-6}
alt7= 126; {Alt-7}
alt8= 127; {Alt-8}
alt9= 128; {Alt-9}
alt0= 129; {Alt-0}
noscreenoutput= 118; {Ctrl-PgDn}
esc= 27; {Esc}
{ Overlay manager constants. }
OvrOk = 0; { Success }
OvrError = -1; { Overlay manager error }
OvrNotFound = -2; { Overlay file not found }
OvrNoMemory = -3; { Not enough memory for overlay buffer }
OvrIOError = -4; { Overlay file I/O error }
OvrNoEMSDriver = -5; { EMS driver not installed }
OvrNoEMSMemory = -6; { Not enough EMS memory }
type anystr=string[128];
lstr=string[80];
mstr=string[30];
sstr=string[15];
regs=record
case integer of
0:(ax,bx,cx,dx,bp,si,di,ds,es,flags:integer);
1:(al,ah,bl,bh,cl,ch,dl,dh:byte)
end;
accesstype=(bylevel,keepout,letin,invalid);
availtype=(available,bytime,notavailable);
filelisttype=(ffname,ffext,ffsize,ffpoints,ffuploader,ffuploaded,
ffdown,fffulnam,ffofwhat); {Configurable file listings}
configtype=(lowercase,eightycols,linefeeds,postprompts,moreprompts,
asciigraphics,ansigraphics,udsysop,bulletinsysop,votingsysop,
emailsysop,doorssysop,mainsysop,databasesysop,jsysop,
gfsysop,wanted,showtime,vt52,fseditor);
groupclass=(publicgroup,privategroup,personalgroup);
voteset=array [1..maxtopics] of byte;
boardorder=array [0..255] of byte;
type bankrec = record
balance:integer;
lastt:char;
lasta:integer;
lastw:longint;
end;
var bnkfile:file of bankrec; acct:bankrec;
type userrec=record
handle:mstr;
realname:string[41];
note:lstr;
macro1,macro2,macro3:lstr;
yesvote,novote,abstain:integer;
password:sstr;
sex:string[1];
age:integer;
citystate:string[34];
country:string[20];
zipcode:string[10];
phonenum:string[10];
laston:longint;
numon,timetoday,nup,ndn,nbu,uploads,downloads:integer;
totaltime:real;
voted:voteset;
udlevel,udpoints,level,emailannounce,beepedpwd,infoform1,infoform2,
infoform3,infoform4,infoform5:integer;
bstatuscolor,
bordercolor,regularcolor,promptcolor,statcolor,inputcolor,displaylen:byte;
lastmessages,lastups,lastgfiles,lastdbases,integer1:integer;
downk,upk:longint;
gflevel,gfuploads,gfdownloads:integer;
menutype,byte1:byte;
defproto,char1:char;
hack:byte;
config:set of configtype;
filelister:set of filelisttype;
newscanconfig,access1,access2:set of byte;
timeinstorage:word;
averagecps:integer;
lastread:array [0..255] of word;
newvoteyes,newvoteno:integer;
newvoteit:array [1..255] of integer;
defcon:array [0..maxconf] of boolean;
end;
userspecsrec=record
name:mstr;
minlevel,maxlevel,minlaston,maxlaston:integer;
minpcr,maxpcr:real
end;
boardrec=record
boardname :mstr;
sponsor :mstr;
entrypw :mstr;
level :integer;
autodel :integer;
anony :boolean;
shortname :sstr;
net :integer;
end;
filerec=record
descrip,fname:lstr;
sentby,password:mstr;
when:longint;
downloaded:integer
end;
mailrec=record
title,sentby:mstr;
when:longint;
anon,read:boolean;
sentto,line,fileindex:integer
end;
abrec=record
title,fname:lstr;
level:integer;
when:longint
end;
quoterec=record
title,author,author2:mstr;
quote:lstr;
when:longint;
level:integer;
end;
netmailrec=record
name:string[48];
number:string[12];
maxbaud:string[4];
priority:string[2];
lastsent:longint;
end;
netlistrec=record
filename:string[12];
prioritya:string[2];
end;
catalogrec=record
nummail,additional:integer;
mail:array [1..maxcatalogsize] of mailrec
end;
grouprec=record
name:mstr;
class:groupclass;
creator,nummembers:integer;
members:array [1..maxgroupsize] of integer
end;
bulrec=record {Post data}
leftby,leftto:mstr;
title,status:mstr;
when:longint;
where:lstr; {Where should say "CelerityNet V1.4 - The BBS"}
where2:lstr; {where2 is the sysop-defined origin line}
version:byte;
anon,recieved:boolean;
line,plevel:integer;
id:word;
cnet,fidonet,flag3,flag4,flag5,flag6,flag7,flag8:boolean;
realname:mstr;
end;
message=record
text:array [1..maxmessagesize] of lstr;
leftto:mstr;
title:lstr;
anon:boolean;
numlines:integer
end;
NetPostRec=record {Record for networked posts}
NetIdNum: byte; {Tells which sub to put the post on}
BulletinRec: bulrec; {the post record}
MessageRec: message; {the message record}
end;
Newsrec=Record
Location:Integer;
Level:Integer;
From:mstr;
When:longint;
Title:String[28];
MaxLevel:Integer;
End;
bbsrec=record
name:string[48];
number:string[12];
maxbaud:string[4];
ware:string[8];
extdesc:string[76];
leftby:mstr;
when:longint;
end;
topicrec=record
topicname:lstr;
numvoted,addlevel:integer;
mandatory:boolean
end;
choicerec=record
choice:lstr;
numvoted:integer
end;
lastrec=record
name:mstr;
callnum:longint;
when:longint;
baud:sstr
end;
buffer=array [1..sectorsize] of char;
baserec=record
numcats,numents,level:integer;
basename:mstr;
catnames:anystr
end;
entryrec=record
data:anystr;
when:longint;
addedby:integer
end;
parsedentry=array [1..maxcats] of anystr;
udrec=record
sentby:mstr;
when,whenrated:longint;
filename:sstr;
path:string[50];
points:integer;
filesize:longint;
programname:string[27];
disknum,totaldisk:integer;
{descrip,}dlpw:lstr;
extdesc:string[255];
downloaded:integer;
newfile,specialfile:boolean;
private:mstr
end;
arearec=record
name,xmodemdir:lstr;
sponsor,areapw:mstr;
level:integer;
upload,download:boolean
end;
gfilerec=record
gfiledescr:string[75];
sentby:mstr;
path:string[50];
fname:mstr;
filesize:longint;
when:longint;
downloaded:integer;
arcname:lstr;
specialfile,newfile:boolean;
end;
gfilearea=record
name:lstr;
gfiledir:string[49];
sponsor:mstr;
level:integer;
upable:boolean;
defarc:sstr;
end;
windowrec=record
x1,y1,x2,y2,
cx,cy,color:byte
end;
fib=textrec;
doorrec=record
name:mstr;
level,numused,info:integer;
batchname:lstr;
getparams:boolean;
end;
minuterec=record
started:boolean;
startedat:integer;
total:real
end;
logrec=record
menu,subcommand:integer;
param:string[41];
when:longint
end;
syslogdatrec=record
menu,subcommand:integer;
text:mstr
end;
baudratetype=(b110,b300,b1200,b2400,b4800,b9600,b19200,b38400);
baudset=set of baudratetype;
protorec=record
letter:char;
desc:string[30];
progname:string[12];
commfmt:string[60];
end;
registerrec=record
handle:mstr;
serial:longint;
end;
const baudarray:array [b110..b38400] of longint=
(110,300,1200,2400,4800,9600,19200,38400);
versioncodes:array [1..thisversioncode] of string[4]=
('1.00');
const firstbaud=b110;
lastbaud=b38400;
var prprog, prcomm, prdesc: lstr;
answer:char;
implementation
begin
end.